package com.ccdt.tv.roundprogram.round;

import com.ccdt.tv.roundprogram.base.BasePresenter;
import com.ccdt.tv.roundprogram.base.BaseView;
import com.ccdt.tv.roundprogram.bean.ChannelRoot;
import com.ccdt.tv.roundprogram.bean.PlayInfo;
import com.ccdt.tv.roundprogram.media.IjkVideoView;

import rx.Observable;

/**
 * create by hfq 2018/10/15
 */
public interface RoundContract {

    interface View extends BaseView {

        void setChannel(ChannelRoot channelRoot);

        IjkVideoView getVideoView();

        void showChannelView();

        void hideChannelView();

        boolean channelViewIsHided();

        void setListSelection(int position);
    }

    interface Presenter extends BasePresenter {

        void loadChannel();

        void turnOverProgram(int position, boolean isValid);

        void onViewDestroy();

        void sendHideMsg();
    }

    interface Model {

        // 后期可能有些参数需要加
        Observable<ChannelRoot> getChannel(String client);

        Observable<PlayInfo> getPlayInfo(int position, ChannelRoot channelRoot);

    }
}
